package com.controladores.controlvehicular;

import java.io.IOException;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Activity_registro_recargas extends Activity {
	private String placa, color, marca, horaControl, fechacontrol, codigoR;
	protected TextView fuenteRE;
	Button aceptar;
	EditText cajaCodigoR;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_activity_registro_recargas);
		fuenteRE = (TextView) findViewById(R.id.etRE);
		Typeface tipofuenteRE = Typeface.createFromAsset(getAssets(),
				"inkedgod.ttf");
		fuenteRE.setTypeface(tipofuenteRE);
		Bundle listaRegistroCVR = getIntent().getExtras();

		placa = listaRegistroCVR.getString("datoplaca");
		//Toast.makeText(this, placa, 5000).show();
		color = listaRegistroCVR.getString("datocolor");
		//Toast.makeText(this, color, 5000).show();
		marca = listaRegistroCVR.getString("datomarca");
		//Toast.makeText(this, marca, 5000).show();
		horaControl = listaRegistroCVR.getString("datohoraControl");
		//Toast.makeText(this, horaControl, 5000).show();
		fechacontrol = listaRegistroCVR.getString("datofechacontrol");
		//Toast.makeText(this, fechacontrol, 5000).show();
		cajaCodigoR = (EditText) findViewById(R.id.id_marca);

		Button botonGuardar = (Button) findViewById(R.id.btnAceptarRecarga);
		botonGuardar.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				guardar();
			}
		});

		Button botonCancelar = (Button) findViewById(R.id.btnCancelarRecarga);
		botonCancelar.setOnClickListener(new View.OnClickListener() {
			public void onClick(View view) {
				cancelar();
			}
		});

	}

	// //////////////////////////////////////////////////////////////////////////////////////////
	private void cancelar() {
		// Cerramos la vista actual, por lo que Android mostrara la anterior,
		// sin hacer nada mas.
		this.finish();
	}

	GestorBaseDatos miBBDDHelper;

	private void guardar() {
		if (comprobarGuardarValido()) {
			// El formulario es valido, por lo tanto podemos guardar

			boolean bienHecho = false;

			try {
				codigoR = cajaCodigoR.getText().toString();
				crearBBDD();
				// Abrimos una conexion
				miBBDDHelper.abrirBaseDatos();
				//Toast.makeText(this, codigoR, 5000).show();
				// Consultamos los datos
				bienHecho = miBBDDHelper.InsertVehiculos(placa, color, marca,
						horaControl, fechacontrol);
				bienHecho = miBBDDHelper.InsertVehiculosRecargas(placa, color,
						marca, horaControl, fechacontrol, codigoR);
				Toast.makeText(getBaseContext(),
						"Los datos se han guardado satisfactoriamente",
						Toast.LENGTH_LONG).show();
				// Cerramos la conexion
				miBBDDHelper.close();
				// menutiposRegistros();
				finish();
				

			} catch (Exception ex) {
				// Algo ha ido mal, capturamos la excepcion
				bienHecho = false;
			}

			if (!bienHecho)
				mostrarMensaje("Algo ha ido mal, no se guarda.");
			// else
			// finish(); // cerramos esta actividad

		} else {
			// El formulario no es valido, no podemos guardar, mostramos un
			// mensaje al usuario
			mostrarMensaje("Rellena todos los campos antes de guardar.");
		}

	}
	public void crearBBDD() {
		miBBDDHelper = new GestorBaseDatos(this);
		try {
			miBBDDHelper.crearDataBase();
		} catch (IOException ioe) {
			throw new Error("Unable to create database");
		}
	}
	private void mostrarMensaje(String mensaje) {
		Toast.makeText(this, mensaje, 5000).show();
	}

	private boolean comprobarGuardarValido() {
		Boolean guardarEsValido = false; // empezamos suponiendo que es falso

		// Comprobamos las cajas existen
		if (cajaCodigoR != null) {
			// Comprobamos que el usuario ha escrito algo en ambas
			if (cajaCodigoR.getText() != null
					&& !cajaCodigoR.getText().toString().equals("")) {
				// Titulo tiene algo, comprobamos tambien Autor
				guardarEsValido = true;
			}

		}

		return guardarEsValido;
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_activity_registro_recargas,
				menu);
		return true;
	}

	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.mInformacionVehiculo:
			Intent aInformacionVehiculo = new Intent(
					Activity_registro_recargas.this, InformacionVehiculo.class);
			startActivity(aInformacionVehiculo);
			break;

		case R.id.mAyuda:
			Intent aAyuda = new Intent(Activity_registro_recargas.this,
					Ayuda.class);
			startActivity(aAyuda);
			break;

		}
		return super.onOptionsItemSelected(item);

	}

	public void malooooooo() {

	}
}
